<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>Document</title>
    <style></style>
  </head>
  <body>
    <div>
      <h1>V8如何回收老生代对象</h1>
      <div>
        <h2>老生代对象说明</h2>
        <p>1.老生代对象存放在右侧老生代区域</p>
        <p>2.64位操作系统1.4G,32位操作系统700M</p>
        <p>3.老生代对象就是指存活时间较长的对象(全局存放的变量,闭包等)</p>
      </div>
      <div>
        <h2>老年代对象回收实现</h2>
        <p>1.主要采用标记清除,标记整理,增量标记算法</p>
        <p>2.首先使用标记清除完成垃圾空间的回收</p>
        <p>
          3.采用标记整理进行空间优化(新生代往老生代移动的时候,如果出现空间不足的时候就会进行标记整理)
        </p>
        <p>
          4.采用增量标记进行效率优化(就是将一整段的垃圾回收拆分成很多小段，组合着完成这个垃圾回收)
        </p>
      </div>
      <div>
        <h2>细节对比</h2>
        <p>1.新生代区域垃圾回收使用空间换时间(因为空间小)</p>
        <p>
          2.老年代区域垃圾回收不适合复制算法(因为空间大,使用复制算法会浪费大量空间,还有老年代存储的数据较多)
        </p>
      </div>
    </div>
    <script></script>
  </body>
</html>
